Business oriented computing systems, applications, and platforms may be developed and deployed to business entities to address both specific and general needs, capabilities, and management functionalities of the business entities. In general, a computer software product may be shipped and deployed by a software product provider to a software customer (e.g., a business or enterprise), wherein the software product includes a number of functionalities that can be used by the customer in the operation of their business to, for example, improve resource management, production, invoicing, customer support, and other functions relevant to their business.
While a computer software product may initially meet the requirements and needs of a software product customer or user, the customer's requirements and needs may change some time after the initial deployment of the business computer software product. The customer's requirements regarding the software product may change due to a change in the customer's needs, as driven by a change in the customer's business functions and operations, by a change in the customer's desire to further integrate the computer product into the operation of its business, and other factors. In some instances, the customer may desire additional features that are not present in the initial computer software product shipped or delivered to them.
In some instances, a software product provider may provide additional features to a computer software product in the form of a release of a new product of an existing product. A typically common aspect of a new product release of an existing product is that the new product release is typically provided as a standard solution to all customers. That is, the new product includes a common set of functionalities that is made available to all customers at the same time. Additionally, such new products typically include numerous changes that are developed by and at the discretion of the software provider.
In some instances, a new software product release product may not adequately address the desired requirements of a particular customer. Also, it is typically not practical for a software product provider to provide a complete product or product version upgrade at the request of an individual customer or small select group of customers since, for example, the modification of a computer software product is time and resource intensive and may include the development, testing, installation, and maintenance of the new product or product version. Additionally, the desire to have a particular product feature may be unique to a select few or one customer. In some instances, the customer requirements may not coincide with the software provider's product or product version release schedule. Also, the provisioning and management of different product or product version releases based on individual customer requests may not be supported, practical, and/or efficient for the software product provider.
Accordingly, a method and mechanism for an infrastructure that supports the shipment and provisioning of supplemental software enhancements are provided in some embodiments herein.